Licensing policies are frequently used mechanisms by which end users gain access to software. Such policies vary. Common license types include “node locked”, “floating”, “site” and “metered”. In node locked mode, only particular devices are allowed to use the software. In floating mode, a fixed number of copies of the software to which the license is attached may be used at any one time. In site mode, use of the licensed software is restricted within a certain area (e.g., within an enterprise domain). In metered mode, the license is modelled as a pay per use (e.g., hourly charge) model. Each license includes a licensing policy, which defines the usage policy, enforcement policy, and relevant information about the license. A license server usually maintains the number of free licenses and records of devices/people to whom the license is currently assigned.
In a basic license sharing model, each license can be considered as a resource having 1 to n number of attributes. The attributes define essential information about the license e.g. license type, expiry date, no of copies and so on. The number of attributes can vary on applications and enforcement model of the license server.
It is common for fixed licenses to be provided to users. These licenses often effectively bind an application to the machine were it is installed. Such licenses can then only be used on a per-device basis.
As an example, machines operating in a corporate network often use a license/update server inside the corporate network. Another example is libraries and university campuses; they have common areas with machines used by all students. Students log into an one of these machines in order to use the available software (e.g. word processing software, spreadsheets, graphical software etc). However, in both of these scenarios any documents or data generated by the user is stored on the local machine, and if the user wants to keep it for later use he or she needs to find a way to transmit the data to his/her own device.
These restrictions create an inflexible licensing system causing unnecessary complexity for end users. The capabilities of mobile devices have dramatically increased in recent years. Some of the latest handsets have multi-core processors and are very high-end, with more RAM, more storage, faster GPUs and CPUs. Such hardware characteristics make them capable of running desktop-level operating systems and software. It would therefore be desirable to provide a flexible licensing system which would enable users to access software and documents using their own devices under the control of the owner of such licenses.